﻿function setup_grid()
{
    var offsW = 19;
    var offsH = 85;


    var w = $('#content').innerWidth() - offsW;
    var h = $('#content').innerHeight() - offsH;

    $('#list').setGridHeight(h);
    $('#list').setGridWidth(w, true);

}

var no_setup_row = false;

function first_row_sel(data)
{
    if(!no_setup_row)
    {
        var row = $('#list tr:nth-child(2)').attr('id');

        $("#list").jqGrid().setSelection(row, true);
        no_setup_row = true;
    }
}

$(function() { 
  $("#list").jqGrid({
    url:'req/usr_list.php',
    editurl:'req/usr_edit.php', 
    datatype: 'json',
    mtype: 'GET',
    colNames:['Логин', 'Имя пользователя','Профиль'],
    colModel :[ 
      {name:'login', index:'login', width:70 }, 
      {name:'name', index:'name' }, 
      {name:'role', formatter:'select', editoptions:{value:"0:Наблюдатель;1:Диспетчер;2:Инженер;3:Администратор"} }
    ],

    sortname: 'login',
    sortorder: 'desc',
    viewrecords: true,
    loadComplete: first_row_sel
  });

$( "#edit-button" )
            .button()
            .click(function() {

                var gr = $("#list").jqGrid('getGridParam','selrow'); 

                if( gr != null ) 
                {
                     $("#user-form").dialog({ title: "Изменения пользователя"});

                     $('#user-form1 input[name=oper]').val('edit');
                     $('#user-form1 input[name=id]').val(gr);

                     $("#list").jqGrid().GridToForm(gr, '#user-form1');

                     var data = $("#list").jqGrid().getRowData(gr);

                     $('#user-form1 [name=role]:radio').each(function()
                     {
                        if ($(this).val() == data.role)
                        {
                            $(this).attr('checked',true);
                        }
                        else
                        {
                            $(this).removeAttr('checked');
                        }
                     });

                     $("#user-form").dialog("open");
                }
                else 
                {
                    alert("Выберите строку для редактирования !"); 
                }
            });

$( "#add-button" )
            .button()
            .click(function() 
            {
                $('#user-form1 #user').attr('checked',true);
                $('#user-form1 input[name=id]').val('');
                $('#user-form1 input[name=oper]').val('add');
                $('#user-form1 input[name=name]').val('');
                $('#user-form1 input[name=password1]').val('');
                $('#user-form1 input[name=password2]').val('');
                $('#user-form1 input[name=login]').val('');
                $("#user-form").dialog({ title: "Новый пользователь"});
                $("#user-form").dialog("open");
            });


$("#remove-button")
            .button()
            .click(function() { 

                var gr = $("#list").jqGrid('getGridParam','selrow'); 

                if( gr != null ) 
                {
                    
                    $("#list").jqGrid('delGridRow',gr,{reloadAfterSubmit:true, modal: true, resize: false}); 
                }
                else 
                {
                    alert("Выберите строку для удаления !"); 
                }
            });

$("#user-form").dialog(
    {
        autoOpen: false,
        height: 'auto',
        width: 'auto',
        modal: true,
        resizable: false,

        buttons: {
            "Сохранить": function ()
            {

                if ( $('#user-form1 input[name=login]').val() == '')
                {
                    alert('Поле логин не может быть пустым !');
                    return;
                }

                var p1 = $('#user-form1 input[name=password1]').val();
                var p2 = $('#user-form1 input[name=password2]').val();

                if (((p1 != '') || (p1 != '')) && (p1 != p2))
                {
                    alert('Пароли не совпадают !');
                    return;
                }

                if (($('#user-form1 input[name=oper]').val() == 'add') && (p1 == '') && (p2 == ''))
                {
                    alert('Новому пользователю обязательно надо задать пароль !');
                    return;
                }

                var vv = $('#user-form1 input[name=role]:checked').val();


                $.post('req/usr_edit.php', $('#user-form1').serialize(),

                    function(_date)
                    {
                        if (typeof(_date) == 'undefined' || _date == '')
                        {
                            $("#list").jqGrid().trigger("reloadGrid");

                            $("#user-form").dialog("close");
                        }
                        else
                        {
                            var resp = $.parseJSON(_date);

                            alert(resp.error);
                        }
                    }
                );


            },
            "Отменить": function ()
            {
                $(this).dialog("close");
            }
        }
    });

    setup_grid();

    $(window).resize(setup_grid);
}); 
